package com.itheima.controller;

import com.itheima.pojo.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;


/*
 * SpringMVC使用历史：
 * 1.非前后端分离阶段
 * SpringMVC主要负责跳转页面，此时的页面一般是之前被广泛使用的JSP的技术页面。这种网页自身与controller交互，得到数据，返回数据
 *
 * 时代变成：由于JSP这种技术不方便前后端分离开发的逻辑，所以被逐渐放弃。
 * springMVC的主要任务 由页面跳转变为了返回数据
 *
 * 2.ajax之后
 * 前端页面为.html,目前获取数据的主流方式是ajax(axios)操作。主要用于发送数据，和接收controller返回的普通数据（非网页）,SpringMVC中Controller代码上的主要变化就是：
 * 在XXXController上添加@ResponseBody>>>将正常的返回网页变为返回JSON数据
 */

@Controller
//@ResponseBody
//@RestController  //@Controller + @ResponseBody
@RequestMapping("/run")
@Slf4j
public class ResponseBody注解与Controller注解的关系 {


    @RequestMapping("/runTest")
    public Result runTest() {
        log.info("runTest()执行了......");
        return Result.success("大家好,我是数据");
    }


    //曾经返回网页的代码：不能配合@ResponseBody,如果配合使用将不能正常跳转页面,转而返回字符串数据"/anyPage.html",@ResponseBody表示将返回json数据
    @RequestMapping("/runTest2")
    public String runTest2() {
        log.info("runTest2(a)执行了...");
        //返回网页路径
        return ("/anyPage.html");
    }

}
